home *** CD-ROM | disk | FTP | other *** search
- /* $VER: documentstyle V 0.6 (25.05.94) Fin Schuppenhauer */
- /** Erzeugt je nach angegebenen Dokumentenstil ein Ger
- Es werden au
- erdem die Optionen f
- r \documentstyle
- erfragt und der Seitenstil mit \pagestyle bestimmt.
- Abh
- ngig von den gemachten Angaben k
- nnen noch weitere
- Abfragen erfolgen.
- Derzeit werden folgende Stile unterst
- article:
- (Vorgabe) Es werden die Optionen und
- der Seitenstil abgefragt. Bei Bedarf
- auch die Angabe f
- r die Kopfzeile(n).
- report:
- Abfragen wie bei article.
- book:
- Wie article. Zus
- tzlich wird der Befehl
- \tableofcontents eingef
- letter:
- Zu den
- blichen Abfragen wird au
- erdem
- nach dem Empf
- nger, der Anrede und
- Gru
- formel gefragt. Ein Teil der
- Angaben (z.B. die Absenderadresse)
- werden unten vordefiniert.
- dletter:
- Eine private Abwandlung von letter.
- Abfragen wie bei letter. Die Stiloption
- dletter wird nicht mitgeliefert.
- Meine Anschrift:
- Fin Schuppenhauer
- Brau
- park 10
- 20537 Hamburg
- (Germany)
- E-Mail: schuppenhauer@rzdspc2.informatik.uni-hamburg.de
- oder: 1schuppe@rzdspc2.informatik.uni-hamburg.de
- OPTIONS RESULTS /* enable return codes */
- if (LEFT(ADDRESS(), 6) ~= "GOLDED") then /* not started by GoldEd ? */
- address 'GOLDED.1'
- 'LOCK CURRENT' /* lock GUI, gain access */
- OPTIONS FAILAT 6 /* ignore warnings */
- SIGNAL ON SYNTAX /* ensure clean exit */
- /* ------------------------ INSERT YOUR CODE HERE: ------------------- */
- /** F
- r die Verwendung der Stiloptionen letter bzw. dletter erwartet
- ** dieses Skript hier ihre Anpasungen f
- r die LaTeX-Komandos \address
- ** und \signature.
- ** z.B.:
- ADRESSE = 'Fin Schuppenhauer\\Brau"spark 10\\20537 Hamburg'
- TELEPHONE = '(040) 219 46 51'
- SIGNATURE = 'Fin Schuppenhauer'
- ANREDE = 'Sehr geehrte'
- REGARDS = 'Mit freundlichen Gr"u"sen'
- 'QUERY CAT'
- german = (result = "deutsch")
- PARSE ARG STYLE
- if length(STYLE) = 0 then do
- /* Nach dem Seitenstil (Vorgegeben: article) fragen: */
- if german then
- 'REQUEST TITLE="Dokumentstil bestimmen" BODY="Bitte geben Sie den gew
- nschten Seitenstil an:" OLD="article" STRING VAR STYLE'
- else
- 'REQUEST TITLE="Set documentstyle" BODY="Please specify your disered document style:" OLD="article" STRING VAR STYLE'
- if rc = 0 then do
- /** Wenn der vorherige Requester nicht abgebrochen wurde, f
- ** wir je nach verwendetem Stil weitere LaTeX-Befehle ein und
- ** fragen noch nach dem Seitenstil:
- **/
- select
- when STYLE="article" then do
- error = 0
- call SetOptions
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T="\documentstyle'OPT'{article}"'
- call SetPagestyle
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T="\begin{document}"'
- end
- when STYLE="report" then do
- error = 0
- call SetOptions
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T="\documentstyle'OPT'{report}"'
- call SetPagestyle
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T="\begin{document}"'
- end
- when STYLE="book" then do
- error = 0
- call SetOptions
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T="\documentstyle'OPT'{book}"'
- OPT = insert('twoside', OPT, 1)
- call SetPagestyle
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T="\begin{document}"'
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T=" \tableofcontents"'
- end
- when (STYLE="letter") | (STYLE="dletter") then do
- error = 0
- call SetOptions
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T="\documentstyle'OPT'{'STYLE'}"'
- call SetPagestyle
- 'FIX VAR ADRESSE'
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T="\address{'ADRESSE'}"'
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T="\telephone{'TELEPHONE'}"'
- 'FIX VAR SIGNATURE'
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T="\signature{'SIGNATURE'}"'
- 'DOWN'
- 'INSERT LINE'
- if STYLE="letter" then do
- 'TEXT STAY T="%\makelables"'
- end
- else do
- 'TEXT STAY T="%\zeichen{ihrs}{unser}"'
- end
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T="\begin{document}"'
- call SetAddressee
- end
- otherwise do
- error = 1
- end
- end
- if error = 0 then do
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T="\end{document}"'
- if (pos('letter', STYLE) = 0) & (pos('dletter', STYLE) = 0) then do
- 'INSERT LINE'
- 'TAB'
- end
- else do
- 'UP'
- 'UP'
- 'UP'
- 'UP'
- 'UP'
- 'TEXT T=" "'
- end
- end
- /* ---------------------------- END OF YOUR CODE --------------------- */
- 'UNLOCK' /* VERY important: unlock GUI */
- SYNTAX:
- SAY "Sorry, error line" SIGL ":" ERRORTEXT(RC) ":-("
- 'UNLOCK'
- SetOptions:
- /** Fragt nach den Optionen f
- r \documentstyle.
- ** Nur wenn welche angegeben werden, werden diese auch
- ** eingef
- **/
- if german then
- 'REQUEST TITLE="Dokument-Optionen bestimmen" BODY="Bitte geben Sie die gew
- nschten Optionen an:" OLD="german,a4" STRING VAR OPT'
- else
- 'REQUEST TITLE="Set document options" BODY="Please specify your desired options:" STRING VAR OPT'
- if (rc = 0) & (length(OPT) > 0) then
- OPT = '[' || OPT || ']'
- RETURN
- SetPagestyle:
- /** Fragt nach dem Seitenstil nach und ggf. nach den Texten f
- ** die Kopfzeile.
- **/
- if german then
- 'REQUEST TITLE="Seitenstil bestimmen" BODY="Bitte bestimmen Sie den Seitenstil:" OLD="plain" STRING VAR PAGESTYLE'
- else
- 'REQUEST TITLE="Set pagestyle" BODY="Please specify the pagestyle:" OLD="plain" STRING VAR PAGESTYLE'
- if (rc = 0) & (length(PAGESTYLE) > 0) then do
- /** Ok, ein bestimmter Seitenstil ist gew
- nscht. **/
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T="\pagestyle{'PAGESTYLE'}"'
- /** Wenn der Autor eigene Kopfzeilen-Texte haben m
- chte, wird er
- ** die Option myheadings angegeben haben und wir fragen ihn
- ** jetzt nach dem Text daf
- **/
- if pos('myheadings', PAGESTYLE) ~= 0 then do
- if german then
- 'REQUEST TITLE="Rechte Kopfzeile" BODY="Geben Sie den Text f
- r die rechte Kopfzeile ein:" STRING VAR RHEAD'
- else
- 'REQUEST TITLE="Right heading" BODY="Enter text for right heading:" STRING VAR RHEAD'
- if pos('twoside', OPT) ~= 0 then do
- /** Der zu erstellende Text wird zweiseitig sein, d.h. es
- ** gibt zus
- tzlich noch eine linke Kopfzeile:
- **/
- headings = 2
- if german then
- 'REQUEST TITLE="Linke Kopfzeile" BODY="Geben Sie den Text f
- r die linke Kopfzeile ein:" OLD="'RHEAD'" STRING VAR LHEAD'
- else
- 'REQUEST TITLE="Left heading" BODY="Enter text for the left heading:" OLD="'RHEAD'" STRING VAR LHEAD'
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T="\markboth{'RHEAD'}{'LHEAD'}"'
- end
- else do
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T="\markright{'RHEAD'}"'
- end
- end
- end
- RETURN
- SetAddressee:
- /** Wird von (d)letter aufgerufen und fragt nach der Empf
- nger-
- ** adresse, der Anrede und Gru
- formel.
- **/
- if german then
- 'REQUEST TITLE="Empf
- nger" BODY="Bitte Empf
- ngeradresse eingeben (LaTeX-Stil):" STRING VAR ADDRESSEE'
- else
- 'REQUEST TITLE="Adressee" BODY="Please enter addressee''s address (LaTeX like):" STRING VAR ADDRESSEE'
- 'FIX VAR ADDRESSEE'
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T=" \begin{letter}{'ADDRESSEE'}"'
- if german then
- 'REQUEST TITLE="Anrede bestimmen" BODY="Bitte Anrede-Text eingeben:" OLD="'ANREDE'" STRING VAR ANREDE'
- else
- 'REQUEST TITLE="Set address" BODY="Please enter address:" OLD="'ANREDE'" STRING VAR ANREDE'
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T=" \opening{'ANREDE'}"'
- 'DOWN'
- 'INSERT LINE'
- 'FIX VAR REGARDS'
- if german then
- 'REQUEST TITLE="Gru
- formel bestimmen" BODY="Bitte Gru
- formel eingeben:" OLD="'REGARDS'" STRING VAR REGARDS'
- else
- 'REQUEST TITLE="Set regards" BODY="Please enter your regards:" OLD="'REGARDS'" STRING VAR REGARDS'
- 'FIX VAR REGARDS'
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T=" \closing{'REGARDS'}"'
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T="% \cc{}"'
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T="% \encl{}"'
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T=" \end{letter}"'
- RETURN
-